package com.surveillance.BO;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.surveillance.DAO.EtudiantDao;
import com.surveillance.entities.Etudiant;

@Service("EtudiantBO")
public class EtudiantBO implements BOLayer<Etudiant> {
	@Autowired
	private EtudiantDao etudiantDAO;

	public void setEtudiantDAO(EtudiantDao etudiantDAO) {
		this.etudiantDAO = etudiantDAO;
	}

	@Override
	public boolean save(Etudiant myEntity) {
		etudiantDAO.save(myEntity);
		return true;
	}

	@Override
	public void update(Etudiant myEntity) {
		etudiantDAO.update(myEntity);

	}

	@Override
	public void delete(Etudiant myEntity) {
		etudiantDAO.delete(myEntity);

	}

	@Override
	public Etudiant findByID(Long myEntityID) {

		return etudiantDAO.findByID(myEntityID);
	}

	@Override
	public List<Etudiant> findAll() {
		return ((EtudiantDao) etudiantDAO).findAll();
	}

	public int countStudentsByNiveauSpecialite(int niveau, Boolean isMedecine) {
		return ((EtudiantDao) etudiantDAO).countStudentsByNiveauSpecialite(
				niveau, isMedecine);
	}

	public List getStudentsByNiveauSpecialite(int niveau, Boolean isMedecine) {
		return ((EtudiantDao) etudiantDAO).getStudentsByNiveauSpecialite(
				niveau, isMedecine);
	}

	public List getOrderedStudentsByNiveauSpecialite(int niveau,
			Boolean isMedecine) {
		return ((EtudiantDao) etudiantDAO)
				.getOrderedStudentsByNiveauSpecialite(niveau, isMedecine);
	}

}
